package org.example.Soution003;

import java.util.ArrayList;
import java.util.List;

public class DynamicProgrammingTriangle {
    public static void main(String[] args) {
        DynamicProgrammingTriangle dpt = new DynamicProgrammingTriangle();
        System.out.println(dpt.generate(5));
    }

    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> res=new ArrayList<>();
        List<Integer> firstList=new ArrayList<>();
        firstList.add(1);
        res.add(firstList);
        if(numRows==1){
            return res;
        }
        for(int i=2;i<=numRows;i++){
            int n=res.size();
            List<Integer> temp=new ArrayList<>();
            temp.add(1);
            for(int j=0;j<i-2;j++){
                temp.add(res.get(n-1).get(j)+res.get(n-1).get(j+1));
            }
            temp.add(1);
            res.add(temp);
        }
        return res;
    }
}
